The present invention relates generally to the field of wireless communication networks and in particular to a method of communicating the boundaries of data packets to network nodes.
The 3rd Generation (3G) wireless communication networks provide mobile users wireless access to packet data networks, such as the Internet. Many Internet applications and services, once available only to users at fixed terminals, are now being made available via wireless communication networks to mobile users. Services such as real-time streaming video and music, on-line interactive gaming, text messaging, email, web browsing and Voice over IP (VoIP), or Push-to-Talk (“walkie talkie” functionality) are just a few examples of services now being provided via wireless networks to mobile users.
These services are characterized by packet-switched data transfer, in which data is encapsulated into a logical unit called a packet, which contains a source and destination address and is routed from source to destination along nodes in one or more networks. Many data packets may be transmitted together on shared wireless traffic channels, with each mobile station retrieving only data packets addressed to it. This mode of data transfer is distinguished from the traditional circuit-switched paradigm of early-generation wireless voice communications, wherein a wireless traffic channel was dedicated to each individual call, or voice conversation. Packet-switched data transfer is generally more flexible and allows for more efficient utilization of network resources, than circuit-switched data transfer.
According to some modern wireless communication network standards, a Packet Data Service Node (PDSN) within the network interfaces to external packet-switched data networks, such as the Internet, and effects packet data communication between these external networks and the Radio Access Network (RAN) of the wireless system. Within the RAN, a Base Station Controller (BSC) eventually receives packet data forwarded by the PDSN, and directs it to individual mobile stations in radio contact with one or more Radio Base Stations. Packets additionally are communicated in the reverse direction, from a mobile station to an external network node.
On the wireless network side of the PDSN, a Point-to-Point Protocol (PPP) is established between the PDSN and the mobile station. This protocol, and any protocol layer above, is transparent to the RAN. That is, within the wireless network, there is no explicit concept of Application IP (or upper IP layer) packets and packet boundaries, only a continuous octet stream. To facilitate routing control and Quality of Service (QoS) requirements within the wireless network, the PDSN encapsulates the octet stream into one or more Generic Routing Encapsulation (GRE) frames. These GRE frames are the upper layer protocol for link or network layer communications among nodes within the wireless network, which may themselves be IP links (lower IP layer). In many cases, the PDSN may package one Application IP packet per GRE frame, and so the BSC may implicitly infer Application IP packet boundaries.
In other cases, however, Application IP packets may be split, or fragmented, into several GRE frames. When the Application IP packet is split into two or more GRE frames (known as GRE fragmentation), the BSC (and intervening network nodes) has no direct way of inferring where the Application IP packet boundaries are. The BSC may peek into the octet stream to detect the PPP packet boundaries and IP packet boundaries of packets carried with the PPP packets, but that requires processing of every octet within the octet stream. GRE fragmentation may be used to avoid IP segmentation, which occurs if the IP packet encapsulating the GRE frame exceeds the Maximum Transmit Unit (MTU) of any of the links within the RAN (i.e., between the PDSN and the BSC or intervening nodes). IP segmentation means that large IP packets are segmented into smaller packets, each fitting within the MTU. IP segmentation requires reassembly of the segmented IP packet before the encapsulated GRE packet and its encapsulated Application IP packet may be restored at the receiving entity. Depending on the configuration of the RAN and the architecture of the nodes of the RAN, segmentation and reassembly may be done on several hops.
In many cases, network efficiency is improved if the BSC or other network nodes can obtain the Application IP packet boundary information. For example, if a buffer overflow or other unrecoverable error occurs in transmitting data from the BSC to a mobile station, the BSC should discard all data in the corresponding Application IP packet. Transmitting the remaining data in the packet would merely waste air resources, since the mobile station would not be able to reassemble the packet. Knowledge of Application IP packet boundaries is required in certain applications such as broadcasting data, where framing is performed at the BSC, or in applications where Application IP packets are sent out-of-order over the air interface, such as when transmitting high priority packets first to achieve QoS requirements. However, the GRE header does not include any provision for identifying whether the GRE frame carries an entire Application IP packet, or whether the Application IP packet is fragmented among two or more GRE frames.